Game Controls
Rawbots has its own special ways of how things work, therefore it isn't that easy to find out all about these features on your own. This page should explain them all very detailed. There are a couple of things to get familiar with, but it's not hard to master them and the devs still do their best to improve the userfriendliness in further releases. All known controls since blueshift 0.1.X Hold F1 ingame to show a table with some basic controls. It also contains a link to the Quick Reference Board of the Official Rawbots Website At the moment there are two main view modes in Rawbots: *The basic world view, where you can build your bots and do some terraforming *The console, where you can access the system commands and do the visual programming. 'View Controls' There are two view modes: 1st person mode views the world through a camera part and 1st person mode rotates the view arround a focused bot part. *Use the Arrow Keys, to rotate the view arround the focused part *'LeftShift + Up/Down-Arrows' to zoom in/out *'Tab + LMB' (left-mouse-button) on a part to focus the view on this part *'Tab' to toggle between 1st/3rd person view :: If the actual focus isn't a camera, the game will choose one automatically for the 3rd person view. If the focused part is somehow connected to a bot with a camera, it will use this one, if not, it will take the next camera in the cam-cycle. *'LeftShift + Tab' to jump to the next camera in the cam-cycle :: As you add new camera parts to the world, they will be added to the end of the cam-cycle. At the moment there is no other way to determine this sequence. ---- 'Bot Building' Rawbots has its own special ways to manipulate bot parts, which can be mastered with ease. ---- 'Quick-Spawn Parts' *'LeftCtrl + LMB' on the ground (the planets surface or any world geometry) to''' quick-spawn parts''' *'LMB + Drag' a part, to grab and move it arround :: The effective force depends on the current zoom distance ---- 'Basic Connection' *'Hold "1" '''to start a step-by-step connecting operation (release "1" to cancel it) :: ''Be sure to hold "1" and not "Num_1" on the num-pad! *''LMB 'on a part to select part-1 :: It will be highlighted and a connection point will be shown. *'RMB 'on part-1 to switch the connection point *'LMB 'on another part to select the part-2 :: A preview of the result will be shown. :: To determine the used connection point on part-2, simply hover the one you would like to use with the mouse :: ''You may need to adjust your camera angle, which can still be done without releasing "1". *RMB '''to rotate the preview :: You can still move to another connection point of part-2 after rotating *'LMB on the preview will confirm the operation :: Part-1 will be forced to move to its desired location on part-2 now. :: In some cases this may fail because of different reasons. :: You can not connect two parts of one and the same construction to each other with this operation. :: The force is based on the orientation and distance of part-1 and -2 so replacing them before the operation may help. :: If part-1 is not connected to any other parts, it will have no collision while it is forced to move to part-2. :: The operation is completed as soon as both parts are stuck together. Release "1" before this is done to cancel it. ---- '''Voltaic Arcs These are distanced connections which can also be used to create supports in your constructions. It is done in much the same way as a basic connection. *'Hold "2"' to start a voltaic arc operation *'LMB '''on a part to select part-1 *'RMB''' on part-1 to switch the connection point *'LMB' on another part to select part-2 *'RMB' on part-2 to switch the connection point *'LMB' the preview to confirm the operation :: The arc will remeber the orientation and location of the parts, as they have been connected, and do its best to keep these. :: If the operation fails, the points you tried to connect may be to far appart from each other. :: The maximum range of a VA is 10 units of length (5 continuums). ---- 'Disconnect Parts' *'"0" + LMB' on a part will break all its connections 'Remove Parts' *'BackSpace + LMB' on a part to permanently remove 'the part + all parts connected to it + their programs from your world' :: Just be carefull when using this combination :: It's not confirmed yet, but it may be Delete instead of BackSpace on your keyboard. ---- 'Terraforming' ' ' There are many different names used for the world geometry, so i will use the expression world-hex for now. At the moment the only way to add new hexes is to "extend" from given ones. There are different styles and types of geometry which you can add. ---- 'Add Geometry' *'Hold "6"' :: A list of possible styles will apper on the right border of the screen *and hover a specific area of an already existing world-hex :: A preview of the new geometry will be shown. :: Some styles also have different types. These are for example the ramps. ::: '- RMB' on the preview to switch the type *'LMB' to place the selected geometry ---- 'Energy Bridges' Since blueshift 0.1.X we are again able to add energy bridges. *'Hold "8"' and hover a specific area of a world-hex :: A preview will be shown :: Bridges can only be placed on specific areas like corners, side-faces, on the bottom... *'RMB' on the preview to rotate it *'LMB' to confirm You can then edit the energy bridge via the visual programming ---- 'Remove Geometry' *'Hold "7"' and hover a player-added geometry :: You can not remove prebuilt geometry right now. *'LMB' on the geometry to remove it ---- 'The Console' This is the place where you can use the command line to acces the system commands and where you can do the visual programming. *'Esc '''to open and close the console ---- 'Command Line' That's the bottom line of the console. Above it you got a list of recently used commands. ''(There exists a little issue atm after using Alt + Tab to get to the desktop. As you come back to the game, the console wont register your inputs like usual any longer. This is because it didn't catch the release of Alt and still belives it's pressed now. Hit Alt once again and it will be fixed) Type a command and press Enter. If it is a known command, it will be written to the left side of colon. load : To make it easer to use, the game usually generates its sub-commands/entries and writes them to the right side of the colon. load : stardust Most commands contain multiple entries. In this case a list will be generated. Horzontal lines ( | ) are the seperators between each entry. spawn : camera | continuum | elbow | fin | ... You can now use Tab or LeftShift + Tab 'to jump to the next or previous entry, or delete the first entry and type it manually. Press '''Enter '''to confirm your selection. The game will take the expression between the colon and the first horizontal line only. spawn : motor | continuum | elbow | fin | ... ''In this case a motor will be spawned at the mouse pointer (if it hovers a legit spawn location). With the '''Up/Down-Arrows you can iterate through recently entered commads ---- 'Known Commands ' *'"help" '''shows a list of commands *"'load"' shows a list of worlds you can load :: Since 0.0.11 the only world you can load is "stardust". :: ''Load doesn't mean "load a savegame" it means "load the latest saved state of the specific world" *'"save"' saves the current state of the loaded world :* Windows: "C:\Users\USERNAME\Documents\rawbots\defs" :* Mac / Linux: "~/rawbots/defs" :: The game creates a new savegame "worldname_timestamp" each time and also overwrites the 'worldname' file, which is the default savegame and will be loaded with the command "load : worldname". For pre-built worlds, if you delete this file (maybe you had problems to load your default savegame), the game will generate a new one. *'"reset"' shows a list of savegames related to this world and will reset the world to this state. *'"shutdown"' exit the game :: Without saving the last state! *'"settings'" shows the settings grid :: There you can confrim your serial-key (0.0.9 only) and set the daytime of your world *'"spawn"' spawns bot parts at the mouse pointers location :: The mouse needs to hover a planets surface or any world geometry. :: A very handy way to spawn a big amount of one and the same part (in combination with Up-Arrow) ---- 'Console Hotkeys' *'LeftCtrl + A' moves the cursor to beginning of the command line *'LeftCtrl + E' moves the cursor to the end of the command line *'LeftAlt + BackSpace' deletes a word *'LeftCtrl + U' clears the command line *'LeftCtrl + K' deletes everything after the cursor position *'LeftCtrl + L' clears the list of recently used commands ---- 'Visual Programming' The background of the console is the place where you can breathe life into your creations. Rawbots offers a collection of basic operands, which can be combined to complex and powerful programs. These hexagons have many different names, I will stick to the developers expression "tile". And for the console background I will use "grid". The grid has a limited amount of space. *Hold MMB (middle-mouse-button)' '''to drag/move arround the grid *'MouseWheel Up/Down''' to zoom in/out At the beginning the grid will be empty, so you wont see any changes. ---- 'Tile Colors and Types' There are 4 different types of tiles, each has its own functionality ---- 'Part Tiles' They are a logical representation of bot parts inside the console. *'LMB '''on a bot part (through the background) to open its program :: This will close the actual grid (if it doesn't already contain the clicked part's tile) :: Beware! Many people have lost quite complex programs this way, because they had no connection to any other part tiles and therfor no chance to open them. *'LeftShift + LMB''' on a bot part, to bring up its grid into the already opened grid :: So this wont close the actual grid! :: It may happen that tiles that have been placed in the same place are stacked/overlapped then. *'Hover '''a part tile with the mouse to highlight the related part in the world :: ''If the related part is out of sight, a green line of arrows will direct to it's location ---- 'Operand Tiles' There is a quite limited collection of pre-built visual programming operands. Each one represents a quite simple stand-alone function, but they can be combined to get much more complex ones. (Some day we may be able to take such combinations and define our own operands in a way) *'LefCtrl + LMB' on an empty space of the grid to add a new operand tile ---- 'Input and Output Tiles' These are the "connection points" between the operands. Inputs got the prefix ">", outputs "<". *'LeftCtrl + LMB' on a part/operand tile to add their inputs/outputs to the grid ---- 'Manipulate Tiles' To edit your programs, there are a couple of things you can do with each tile. *'LMB + Drag '''a tile to move it arround on the grid *'LMB on an input tile to enter its value//select its entry :: Some input tiles have a list of given entries. They wont accept any other value than one of these entries. ::: - '''Tab or LeftShift + Tab to select an entry ::: '- Enter '''to confirm :: Some input tiles will kinda ignore player-typed values. For example the oscillators >time: If you enter a value into it, it will jump to the specific timeframe, but then it countinues to listen to its inner time. Such input tiles need to be "feeded" with output tiles to work correctly. *'LeftCtrl + LMB + Drag''' an input tile on an output tile to a connection :: You can also drag output tiles on input tiles. :: Both, the input and output tile, need to be of the same data type. You can not, for example, connect a numeric input tile to a string based output tile. :: At the moment known types are decimal, string, boolean, colorcode enumerations and part :: While dragging tiles, you can still use the MMB to move the grid, if the destination tile is not on the screen '' *'LeftCtrl + LeftShift + LMB''' on a tile to break its connections/remove it :: If the clicked tile is an input/output tile with connections, the first click will break all its connections. :: If the clicked tile is a part/operand tile it and all its input/output tiles will be removed, even if they are connected to other tiles! :: You may encounter a strange behavour when deleting input tiles, if you already changed its value. The game will remeber the changed value until you add the input tile again. When doing so, the value will be reset to its default. ---- 'Permissions & Passcode' *'LeftAlt + LMB' on a tile to access its permissions :: For example: Set "permission : -drag" on a part tile, and you wont be able to move the related bot part with your mouse any longer. :: Tip: It is useful to set "permission : -delete" for at least one part of your bot to prevent it from accidentally deleting. *'LeftAlt + LMB' on a hex, to enter the passcode :: To add a passcode, unzip the desired map/blueprint then open the file with a text editor. Add this to the desired part/code hex without the parentheses: '' :: ''(name)@(number) . passcode #0000 :: the passcode must be a four digits number. ---- 'True or False' Values lower or equal 0.5 are handled as False, values higher than 0.5 are True. For example: A multiplexer with a >selector value of 0.5 will still output >sample_a. Above 0.5 it will output >sample_b. ---- 'Blueprinting' Since blueshift 0.1.X the blueprint feature is available for us the first time. It allows you to save bots in a file, which means a single bot (all parts need to be connected) and its program. This blueprint can then easily inported to any existing rawbots world. This allows easy sharing your bots with other or simply dublicate them. ---- 'Create a blueprint' *'"4" + LMB' on a bot :: The console will be opened and you have to type a name for the new blueprint ---- 'Spawn blueprints' *'LeftCtrl + LeftShift + LMB' on the grond :: The console will be opened, showing a list of your saved bluprints *'Tab/LeftShift + Tab '''to select the blueprint *'Enter to confrim :: Back to the world view a preview will be shown *'LMB on the ground '''to spawn the bot ---- 'Share blueprints The devs plan to create a market-place for sharing/trading blueprints easily with each other, but for now we have to transfer our blueprint-files directly. The files are located in *Windows: "C:\Users\USERNAME\Documents\rawbots\blueprints" *Mac / Linux: "~/rawbots/blueprints" All files located there will be listed in the ingame blueprint list. ----